DID 起步:图说去中心化身份
2019-06-04
作者: 陈俊(ArcBlock 公关副总裁)
上个月,随着微软发布运行在比特币网络上的去中心化身份(Decentralized Identity, DID)网络的早期预览版、ArcBlock 区块基石发布全球首个全面支持 DID 的数字加密钱包,DID 正在成为区块链业者和用户关注热议的话题。
那么,到底什么是去中心化身份(DID)?它解决什么问题?其大致的实现原理是什么?本文尝试用图文并茂的方式为您作一个简明的入门介绍。
身份的定义
提到身份,我们自然会想到身份证、户口本、驾照等一系列证明“你是你”的文件。确实,在今天的世界,一个人没有身份就无法拥有银行账户,无法获得社会福利,无法行使受教育的权利,更谈不上参与政治生活。据联合国 2017 年数据统计,全球有 11 亿 1/6 多的人口没有合法身份,基本与现代社会正常生活绝缘脱节。
按照国际标准组织的定义,身份是“与某一实体相关的属性集”,而这一实体可以指人、机构、应用或设备。本文讨论的以人和机构为主的身份,其信息则由三个方面构成——
- 属性: 生理和社会属性,例如你的出生情况、教育背景、金融借贷历史、医疗记录等;
- 关系: 社会关系,比如你是哪国公民,什么公司的雇员,是谁的亲属朋友;
- 代理: 受你委托的民事代理如律师、房地产经纪人等,以及你使用的 iPhone 应用、云计算服务等互联网服务。
同时,身份也是由不同参与方的声明和可验证声明等动态行为形成的——
- 声明: 往往是个人或机构对自己身份的声称和主张,例如“我叫麦金塔,1984 年 1 月 24 日出生。”
-
可验证声明:
- 证明: 为声明提供证据的某种形式的文件。通常对个人来说是护照、出生证和公用事业账单的复印件;对于公司来说,则是一堆公司章程、营业执照等注册文件。
- 认证: 是指第三方根据他们的记录来确认声明是真实的。例如,一所大学可以证明某人在那里学习并获得了学位。来自权威的证明,要比能够伪造的证明更有说服力。
数字身份的演变
时至今日,全球有近三分之二的人口连接上网,各种丰富的互联网应用和服务通过各种计算机设备将我们的数字生活和现实生活融合在一起,并让我们用以前无法想象的方式与数以百计的企业与机构,数以千计的其他个人用户时时刻刻进行互动。在这互动当中,连接映射线下本体到线上并由计算机自动验证和处理的数字身份,其便捷和重要性日益凸显。麦肯锡今年 1 月发布的一份关于数字身份的研究报告披露:如果普及并正确实施数字身份,将有 78% 低收入国家的非正规从业人员受益,将有 1100 亿小时的时间通过政府服务、社会保障的精简节省出来,产生的经济价值相当于每个典型新兴经济体 6% GDP 或每个成熟经济体 3% 的 GDP。
不过,在万维网 30 年前诞生之初,并没有在其底层协议进行数字身份的设计,所以有了这幅著名漫画“在互联网上,没人知道你是一条狗”,它非常生动的描画出,二十多年前互联网刚刚走入寻常百姓家,人们尽享在网上匿名冲浪的快乐,乃至放纵。
最早的数字身份就是大家耳熟能详的互联网传统账号模式。
当你使用论坛、社区、电商、游戏等各种不同的应用和服务时,你必须向这个系统注册申请一个用户账号,然后用 ID 和密码来登录使用。实际上,是你把自己的身份信息提供给了每个服务商,然后服务商创建了 ID,然后把这个 ID 借给你用,你所有的数据存储在他们的服务器上,根据你签署同意的用户协议,你的 ID 和数据法律上也归属于服务提供商。到如今,这一身份模式给用户体验带来的问题是:每个应用服务都要创建账户,账户越来越多,管理这么多账户实在太麻烦了。
因此,产生了第二种数字身份的模式:一键登录。
与前一种模式不同的是,一键登录是你把数据上传给某一个登录服务提供商的中心系统,经你授权,由它把你的数据提供给第三方。目前,大家都普遍接受微信、Facebook 等这样的大平台提供的账号 ID 一键登录各种不同的应用服务,使用非常方便。不过,实践中,这一数字身份模式出现的问题大致有以下两种——
- 隐私泄露: 全球第一大社交平台 Facebook 日活跃用户占世界人口 1/5,许多用户用 Facebook Connect 登录许多外部服务的时候,Facebook 并没有保护好用户隐私,而是把各种各样社交信息信息全部提供出去,导致仅在去年一年就泄露 8700 万用户信息,英国剑桥分析公司未获授权收集 5000 万 Facebook 用户信息用于精准投放政治竞选广告,只是最为臭名昭著的一例。
- 限制封锁: 微信登录似乎是个反例。当你使用微信登录任何一个第三方应用,不论你怎么授权,微信提供的信息都极为有限,因为微信不想把用户推送给别人。极端的例子则是彻底封锁,由于腾讯与今日头条的竞争进入白热化状态,导致用户无法使用微信账号登录今日头条旗下抖音的服务(见下图)。
无论是互联网传统账户还是一键登录,这两种数字身份,从技术和法律上,从来不属于用户自己。随着用户数据泄露和滥用的痛点日益凸显,让每个人在数字世界都有权拥有并控制自己的身份,其数字身份信息能够安全存储并保护好隐私,成为日益强烈的刚需。
去中心化身份
去中心化身份(DID)利用区块链技术实现让数字身份真正为用户所拥有并支配,就像我们把身份证、护照、户口本这些纸质文件放在自己家里小心保存,只有在需要的时候再拿出来一样,不再有任何中间人(即使是 DID 技术供应商)接触拥有控制用户的身份和数据。
实现一个用户能自主创建、完全去中心化的身份管理,是远在区块链诞生之前、坚持互联网“去中心化”初心的极客和专家一直追求的目标。然而,OpenID 等多个解决方案之所以未能奏效,是因为在技术上永远绕不开“认证中心“,一旦需要这个认证中心,就背离了初衷,而且因为涉及到中心的认证,不仅存在隐私和安全问题,多个主体间的 DID 也是互相隔断的。
区块链的出现,恰恰解决了 DID 最大的问题。区块链技术的不可篡改、哈希加密的特性,让建立标识唯一、人皆可信,去中心化运维的身份系统得以实现。今天,无处不在的移动网络服务能够让人们一直保持在线状态,智能手机的普及让几乎人人都随身携有一台计算能力强大的电脑,近两年 O2O 的成熟让扫描二维码成为最常见易行的用户行为。这些互联网技术进步和模式演变又让 DID 能够实现流畅良好的用户体验。
万维网联盟(W3C)正在主持开发的去中心化标识符(Decentralized Identitfiers,DID)标准正在成为去中心化身份(DID)技术实现标准,目前有微软、ArcBlock、uPort、lifeID 等企业或项目提交了各自的 DID 协议方法。
DIDs 是身份主体相关、与该主体进行可信互动的 URL。DIDs 解析为 DID 文档 ——描述如何使用该 DID 的简单文档。每个 DID 文档可能至少包含三部分:证明目的、验证方法和服务端点。证明目的与验证方法相结合,以提供证明事物的机制。例如,DID 文档可以指定特定的验证方法,例如密码公钥或化名生物特征协议,可以用于验证为目的而创建的方法。服务端点支持与 DID 控制器的可信交互。
这一可验证、“自我主权”的数字身份新型标识能够让身份数据始终置于终端用户的控制之下,并且不把个人身份信息存储在区块链上(仅将签名的哈希值作为证据),让用户成为身份的唯一所有者,从而摆脱任何中心化注册服务、身份提供商或证书颁发机构的控制。为保护隐私,DID 通常使用零知识证明方法让声明信息的披露尽可能的少:比如国外超市酒吧禁止向未成年人卖酒,有了 DID,你只需要提供由相关部门签名认证的声明说你已经超过 18 岁,而不需要分享你的出生日期。
DID 技术实现的去中心化身份的体验和用途与传统的数字身份截然不同:首先,你将不只有一个 DID,而是依据身份场合需要的不同拥有无数不同的 DID,每一个 DID 都给你一个单独的终生加密的私密渠道与其他个人、组织或事物交互沟通,因此更好的选择你的身份来交流,更好的保护你的隐私,传统互联网的“人肉”现象将不会再发生;DID 将不仅用来证明的身份,而且可用来交换可验证的数字证书;最棒的是,每个 DID 直接登记在区块链或分布式网络上,无需向中心化注册机构申请。